home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Mac OS SDK / Dev.CD Jan 98 SDK1.toast / Development Kits (Disc 1) / Interfaces&Libraries / Universal / Interfaces / PInterfaces / DrawSprocket.p < prev    next >
Encoding:
Text File  |  1997-08-12  |  10.9 KB  |  281 lines  |  [TEXT/MPS ]

  1. {
  2.      File:        DrawSprocket.p
  3.  
  4.      Contains:    Games Sprockets: DrawSprocket interfaces
  5.  
  6.      Version:    Technology:    Draw Sprocket 1.1.2
  7.                  Release:    Universal Interfaces 3.0.1
  8.  
  9.      Copyright:    © 1996-1997 by Apple Computer, Inc., all rights reserved.
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. }
  18. {$IFC UNDEFINED UsingIncludes}
  19. {$SETC UsingIncludes := 0}
  20. {$ENDC}
  21.  
  22. {$IFC NOT UsingIncludes}
  23.  UNIT DrawSprocket;
  24.  INTERFACE
  25. {$ENDC}
  26.  
  27. {$IFC UNDEFINED __DRAWSPROCKET__}
  28. {$SETC __DRAWSPROCKET__ := 1}
  29.  
  30. {$I+}
  31. {$SETC DrawSprocketIncludes := UsingIncludes}
  32. {$SETC UsingIncludes := 1}
  33.  
  34. {$IFC UNDEFINED __TYPES__}
  35. {$I Types.p}
  36. {$ENDC}
  37. {$IFC UNDEFINED __EVENTS__}
  38. {$I Events.p}
  39. {$ENDC}
  40. {$IFC UNDEFINED __QUICKDRAW__}
  41. {$I Quickdraw.p}
  42. {$ENDC}
  43. {$IFC UNDEFINED __QDOFFSCREEN__}
  44. {$I QDOffscreen.p}
  45. {$ENDC}
  46. {$IFC UNDEFINED __DISPLAYS__}
  47. {$I Displays.p}
  48. {$ENDC}
  49.  
  50.  
  51. {$PUSH}
  52. {$ALIGN POWER}
  53. {$LibExport+}
  54.  
  55. {$IFC TARGET_CPU_PPC }
  56. {
  57. ********************************************************************************
  58. ** error/warning codes
  59. ********************************************************************************
  60. }
  61.  
  62. CONST
  63.     kDSpNotInitializedErr        = -30440;
  64.     kDSpSystemSWTooOldErr        = -30441;
  65.     kDSpInvalidContextErr        = -30442;
  66.     kDSpInvalidAttributesErr    = -30443;
  67.     kDSpContextAlreadyReservedErr = -30444;
  68.     kDSpContextNotReservedErr    = -30445;
  69.     kDSpContextNotFoundErr        = -30446;
  70.     kDSpFrameRateNotReadyErr    = -30447;
  71.     kDSpConfirmSwitchWarning    = -30448;
  72.     kDSpInternalErr                = -30449;
  73.     kDSpStereoContextErr        = -30450;
  74.  
  75. {
  76. ********************************************************************************
  77. ** constants
  78. ********************************************************************************
  79. }
  80.  
  81. TYPE
  82.     DSpDepthMask                 = LONGINT;
  83. CONST
  84.     kDSpDepthMask_1                = {DSpDepthMask}$01;
  85.     kDSpDepthMask_2                = {DSpDepthMask}$02;
  86.     kDSpDepthMask_4                = {DSpDepthMask}$04;
  87.     kDSpDepthMask_8                = {DSpDepthMask}$08;
  88.     kDSpDepthMask_16            = {DSpDepthMask}$10;
  89.     kDSpDepthMask_32            = {DSpDepthMask}$20;
  90.     kDSpDepthMask_All            = {DSpDepthMask}-1;
  91.  
  92.  
  93. TYPE
  94.     DSpColorNeeds                 = LONGINT;
  95. CONST
  96.     kDSpColorNeeds_DontCare        = {DSpColorNeeds}0;
  97.     kDSpColorNeeds_Request        = {DSpColorNeeds}1;
  98.     kDSpColorNeeds_Require        = {DSpColorNeeds}2;
  99.  
  100.  
  101. TYPE
  102.     DSpContextState             = LONGINT;
  103. CONST
  104.     kDSpContextState_Active        = {DSpContextState}0;
  105.     kDSpContextState_Paused        = {DSpContextState}1;
  106.     kDSpContextState_Inactive    = {DSpContextState}2;
  107.  
  108. { kDSpContextOption_QD3DAccel not yet implemented }
  109.  
  110. TYPE
  111.     DSpContextOption             = LONGINT;
  112. CONST
  113.                                                                 {     kDSpContextOption_QD3DAccel        = 1<<0, }
  114.     kDSpContextOption_PageFlip    = {DSpContextOption}$02;
  115.     kDSpContextOption_DontSyncVBL = {DSpContextOption}$04;
  116.     kDSpContextOption_Stereoscopic = {DSpContextOption}$08;
  117.  
  118.  
  119. TYPE
  120.     DSpAltBufferOption             = LONGINT;
  121. CONST
  122.     kDSpAltBufferOption_RowBytesEqualsWidth = {DSpAltBufferOption}$01;
  123.  
  124.  
  125. TYPE
  126.     DSpBufferKind                 = LONGINT;
  127. CONST
  128.     kDSpBufferKind_Normal        = {DSpBufferKind}0;
  129.     kDSpBufferKind_LeftEye        = {DSpBufferKind}0;
  130.     kDSpBufferKind_RightEye        = {DSpBufferKind}1;
  131.  
  132.  
  133. TYPE
  134.     DSpBlitMode                 = LONGINT;
  135. CONST
  136.     kDSpBlitMode_SrcKey            = {DSpBlitMode}$01;
  137.     kDSpBlitMode_DstKey            = {DSpBlitMode}$02;
  138.     kDSpBlitMode_Interpolation    = {DSpBlitMode}$04;
  139.  
  140. {
  141. ********************************************************************************
  142. ** data types
  143. ********************************************************************************
  144. }
  145.  
  146. TYPE
  147.     DSpAltBufferReference = ^LONGINT;
  148.     DSpContextReference = ^LONGINT;
  149.     DSpEventProcPtr = ProcPtr;  { FUNCTION DSpEvent(VAR inEvent: EventRecord): BOOLEAN; C; }
  150.  
  151.     DSpCallbackProcPtr = ProcPtr;  { FUNCTION DSpCallback(inContext: DSpContextReference; inRefCon: UNIV Ptr): BOOLEAN; C; }
  152.  
  153.     DSpContextAttributesPtr = ^DSpContextAttributes;
  154.     DSpContextAttributes = RECORD
  155.         frequency:                Fixed;
  156.         displayWidth:            UInt32;
  157.         displayHeight:            UInt32;
  158.         reserved1:                UInt32;
  159.         reserved2:                UInt32;
  160.         colorNeeds:                UInt32;
  161.         colorTable:                CTabHandle;
  162.         contextOptions:            OptionBits;
  163.         backBufferDepthMask:    OptionBits;
  164.         displayDepthMask:        OptionBits;
  165.         backBufferBestDepth:    UInt32;
  166.         displayBestDepth:        UInt32;
  167.         pageCount:                UInt32;
  168.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  169.         gameMustConfirmSwitch:    BOOLEAN;
  170.         reserved3:                ARRAY [0..3] OF UInt32;
  171.     END;
  172.  
  173.     DSpAltBufferAttributesPtr = ^DSpAltBufferAttributes;
  174.     DSpAltBufferAttributes = RECORD
  175.         width:                    UInt32;
  176.         height:                    UInt32;
  177.         options:                DSpAltBufferOption;
  178.         reserved:                ARRAY [0..3] OF UInt32;
  179.     END;
  180.  
  181.     DSpBlitInfoPtr = ^DSpBlitInfo;
  182.     DSpBlitDoneProc = ProcPtr;  { PROCEDURE DSpBlitDoneProc(VAR info: DSpBlitInfo); C; }
  183.  
  184.     DSpBlitInfo = RECORD
  185.         completionFlag:            BOOLEAN;
  186.         filler:                    PACKED ARRAY [0..2] OF CHAR;
  187.         completionProc:            DSpBlitDoneProc;
  188.         srcContext:                DSpContextReference;
  189.         srcBuffer:                CGrafPtr;
  190.         srcRect:                Rect;
  191.         srcKey:                    UInt32;
  192.         dstContext:                DSpContextReference;
  193.         dstBuffer:                CGrafPtr;
  194.         dstRect:                Rect;
  195.         dstKey:                    UInt32;
  196.         mode:                    DSpBlitMode;
  197.         reserved:                ARRAY [0..3] OF UInt32;
  198.     END;
  199.  
  200. {
  201. ********************************************************************************
  202. ** function prototypes
  203. ********************************************************************************
  204. }
  205. {
  206. ** global operations
  207. }
  208. FUNCTION DSpStartup: OSStatus; C;
  209. FUNCTION DSpShutdown: OSStatus; C;
  210. FUNCTION DSpGetFirstContext(inDisplayID: DisplayIDType; VAR outContext: DSpContextReference): OSStatus; C;
  211. FUNCTION DSpGetNextContext(inCurrentContext: DSpContextReference; VAR outContext: DSpContextReference): OSStatus; C;
  212. FUNCTION DSpFindBestContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outContext: DSpContextReference): OSStatus; C;
  213. FUNCTION DSpCanUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; VAR outUserCanSelectContext: BOOLEAN): OSStatus; C;
  214. FUNCTION DSpUserSelectContext(inDesiredAttributes: DSpContextAttributesPtr; inDialogDisplayLocation: DisplayIDType; inEventProc: DSpEventProcPtr; VAR outContext: DSpContextReference): OSStatus; C;
  215. FUNCTION DSpProcessEvent(VAR inEvent: EventRecord; VAR outEventWasProcessed: BOOLEAN): OSStatus; C;
  216. FUNCTION DSpSetBlankingColor({CONST}VAR inRGBColor: RGBColor): OSStatus; C;
  217. FUNCTION DSpSetDebugMode(inDebugMode: BOOLEAN): OSStatus; C;
  218. FUNCTION DSpFindContextFromPoint(inGlobalPoint: Point; VAR outContext: DSpContextReference): OSStatus; C;
  219. FUNCTION DSpGetMouse(VAR outGlobalPoint: Point): OSStatus; C;
  220. {
  221. ** alternate buffer operations
  222. }
  223. FUNCTION DSpAltBuffer_New(inContext: DSpContextReference; inVRAMBuffer: BOOLEAN; VAR inAttributes: DSpAltBufferAttributes; VAR outAltBuffer: DSpAltBufferReference): OSStatus; C;
  224. FUNCTION DSpAltBuffer_Dispose(inAltBuffer: DSpAltBufferReference): OSStatus; C;
  225. FUNCTION DSpAltBuffer_InvalRect(inAltBuffer: DSpAltBufferReference; {CONST}VAR inInvalidRect: Rect): OSStatus; C;
  226. FUNCTION DSpAltBuffer_GetCGrafPtr(inAltBuffer: DSpAltBufferReference; inBufferKind: DSpBufferKind; VAR outCGrafPtr: CGrafPtr; VAR outGDevice: GDHandle): OSStatus; C;
  227. {
  228. ** context operations
  229. }
  230. { general }
  231. FUNCTION DSpContext_GetAttributes(inContext: DSpContextReference; outAttributes: DSpContextAttributesPtr): OSStatus; C;
  232. FUNCTION DSpContext_Reserve(inContext: DSpContextReference; inDesiredAttributes: DSpContextAttributesPtr): OSStatus; C;
  233. FUNCTION DSpContext_Release(inContext: DSpContextReference): OSStatus; C;
  234. FUNCTION DSpContext_GetDisplayID(inContext: DSpContextReference; VAR outDisplayID: DisplayIDType): OSStatus; C;
  235. FUNCTION DSpContext_GlobalToLocal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  236. FUNCTION DSpContext_LocalToGlobal(inContext: DSpContextReference; VAR ioPoint: Point): OSStatus; C;
  237. FUNCTION DSpContext_SetVBLProc(inContext: DSpContextReference; inProcPtr: DSpCallbackProcPtr; inRefCon: UNIV Ptr): OSStatus; C;
  238. FUNCTION DSpContext_GetFlattenedSize(inContext: DSpContextReference; VAR outFlatContextSize: UInt32): OSStatus; C;
  239. FUNCTION DSpContext_Flatten(inContext: DSpContextReference; outFlatContext: UNIV Ptr): OSStatus; C;
  240. FUNCTION DSpContext_Restore(inFlatContext: UNIV Ptr; VAR outRestoredContext: DSpContextReference): OSStatus; C;
  241. FUNCTION DSpContext_GetMonitorFrequency(inContext: DSpContextReference; VAR outFrequency: Fixed): OSStatus; C;
  242. FUNCTION DSpContext_SetMaxFrameRate(inContext: DSpContextReference; inMaxFPS: UInt32): OSStatus; C;
  243. FUNCTION DSpContext_GetMaxFrameRate(inContext: DSpContextReference; VAR outMaxFPS: UInt32): OSStatus; C;
  244. FUNCTION DSpContext_SetState(inContext: DSpContextReference; inState: DSpContextState): OSStatus; C;
  245. FUNCTION DSpContext_GetState(inContext: DSpContextReference; VAR outState: DSpContextState): OSStatus; C;
  246. FUNCTION DSpContext_IsBusy(inContext: DSpContextReference; VAR outBusyFlag: BOOLEAN): OSStatus; C;
  247. { dirty rectangles }
  248. FUNCTION DSpContext_SetDirtyRectGridSize(inContext: DSpContextReference; inCellPixelWidth: UInt32; inCellPixelHeight: UInt32): OSStatus; C;
  249. FUNCTION DSpContext_GetDirtyRectGridSize(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  250. FUNCTION DSpContext_GetDirtyRectGridUnits(inContext: DSpContextReference; VAR outCellPixelWidth: UInt32; VAR outCellPixelHeight: UInt32): OSStatus; C;
  251. FUNCTION DSpContext_InvalBackBufferRect(inContext: DSpContextReference; {CONST}VAR inRect: Rect): OSStatus; C;
  252. { underlays }
  253. FUNCTION DSpContext_SetUnderlayAltBuffer(inContext: DSpContextReference; inNewUnderlay: DSpAltBufferReference): OSStatus; C;
  254. FUNCTION DSpContext_GetUnderlayAltBuffer(inContext: DSpContextReference; VAR outUnderlay: DSpAltBufferReference): OSStatus; C;
  255. { gamma }
  256. FUNCTION DSpContext_FadeGammaOut(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  257. FUNCTION DSpContext_FadeGammaIn(inContext: DSpContextReference; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  258. FUNCTION DSpContext_FadeGamma(inContext: DSpContextReference; inPercentOfOriginalIntensity: SInt32; VAR inZeroIntensityColor: RGBColor): OSStatus; C;
  259. { buffering }
  260. FUNCTION DSpContext_SwapBuffers(inContext: DSpContextReference; inBusyProc: DSpCallbackProcPtr; inUserRefCon: UNIV Ptr): OSStatus; C;
  261. FUNCTION DSpContext_GetBackBuffer(inContext: DSpContextReference; inBufferKind: DSpBufferKind; VAR outBackBuffer: CGrafPtr): OSStatus; C;
  262. FUNCTION DSpContext_GetFrontBuffer(inContext: DSpContextReference; VAR outFrontBuffer: CGrafPtr): OSStatus; C;
  263. { clut operations }
  264. FUNCTION DSpContext_SetCLUTEntries(inContext: DSpContextReference; {CONST}VAR inEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  265. FUNCTION DSpContext_GetCLUTEntries(inContext: DSpContextReference; VAR outEntries: ColorSpec; inStartingEntry: UInt16; inLastEntry: UInt16): OSStatus; C;
  266. { blit operations }
  267. FUNCTION DSpBlit_Faster(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  268. FUNCTION DSpBlit_Fastest(inBlitInfo: DSpBlitInfoPtr; inAsyncFlag: BOOLEAN): OSStatus; C;
  269. {$ENDC}  {TARGET_CPU_PPC}
  270.  
  271. {$ALIGN RESET}
  272. {$POP}
  273.  
  274. {$SETC UsingIncludes := DrawSprocketIncludes}
  275.  
  276. {$ENDC} {__DRAWSPROCKET__}
  277.  
  278. {$IFC NOT UsingIncludes}
  279.  END.
  280. {$ENDC}
  281.